package IU;

import Controladores.CtrlAMBOperario;
import Entidades.Contrato;
import Entidades.Detallecontrato;
import java.util.List;
import java.util.Vector;
import javax.swing.JOptionPane;
import utiles.Validador;
import javax.swing.JComboBox;

import Controladores.CtrlLocalidad;
import Controladores.CtrlPais;
import Controladores.CtrlProveedor;
import Controladores.CtrlProvincia;
import Controladores.CtrlContrato;
import Controladores.CtrlDetallecontrato;
import Controladores.CtrlDetallerecepcion;
import Controladores.CtrlEstadocontrato;
import Controladores.CtrlTransportista;
import Controladores.CtrlTransporte;
import Controladores.CtrlProducto;
import Controladores.CtrlLagar;



import Entidades.Detallerecepcion;
import Entidades.Estadocontrato;
import Entidades.Estadooperario;
import Entidades.Producto;
import Entidades.Proveedor;
import Entidades.Transporte;
import Entidades.Transportista;
import Entidades.Lagar;

import java.awt.event.MouseAdapter;
import java.util.Collection;
import java.util.ArrayList;
import javax.swing.event.ListSelectionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;

/////////////////LISTAR////////////////////
/////////////////LISTAR////////////////////
/**
 *
 * @author  Laura
 * 
 * 
 */
public class DescargaLagar extends javax.swing.JFrame {

    static String datos;
    static String datos1;
    private int filas;
    private int cantidadColumnas;
    private String cadenaBascula = "18000";// Borrar: "18000"
    private String[] args;
    String telefono1;
    String telefono2;
    Proveedor proveedor;
    Producto producto;
    TablaPersonalizada tableModel;
    private List listap;
    CtrlProveedor ctrlproveedor;
    CtrlPais controladorpais;
    CtrlProvincia controladorprov;
    CtrlLocalidad controladorlocal;
    CtrlContrato controladorcontrato;
    CtrlDetallecontrato controladordetallecontr;
    CtrlEstadocontrato controladorestadocontrato;
    CtrlDetallerecepcion ctrldetallerecepcion;
    CtrlTransporte ctrltransporte;
    CtrlTransportista ctrltransportista;
    CtrlProducto ctrlproducto;
    CtrlLagar ctrllagar;
    CtrlAMBOperario ctrloperario;
    Lagar lagarSel;
    Proveedor o;
    Validador validador;
    Collection<Detallecontrato> detalleCollection = new ArrayList<Detallecontrato>();
    Estadooperario miestado = null;
    Estadocontrato e = null;
    Estadocontrato estadocontrato = null;
    Transportista transportista;
    Transporte transporte;
    Detallerecepcion detallerecepcion;
    String estado = "EsperaDescargaLagar";
    Contrato contrato;
    Proveedor miprov = null;
    // private List<Contrato> listacontpend = new ArrayList<Contrato>();
    private List<Detallerecepcion> listadetpend = new ArrayList<Detallerecepcion>();
    private List<Contrato> listacontparam = new ArrayList<Contrato>();
    private List<Detallerecepcion> listadetparam = new ArrayList<Detallerecepcion>();
    List<Lagar> listalagar = new ArrayList<Lagar>();
    Vector<Lagar> listalagarV = new Vector<Lagar>();
    private String op;
    //List<Empaque> listaempaquess = new ArrayList<Empaque>();

    public DescargaLagar(String oper) {
        initComponents();
        op = oper;
        jTextFieldUsuario.setText(op);

        //  cadenaBascula=cadena;
        //    System.out.print(cadenaBascula);
        //  System.out.print("cadenaBascula");
        // peso.setText(cadenaBascula);
        // System.out.print(cadena);
        //  System.out.print(cadena);

        ctrlproveedor = new CtrlProveedor();
        controladordetallecontr = new CtrlDetallecontrato();
        controladorestadocontrato = new CtrlEstadocontrato();
        controladorcontrato = new CtrlContrato();
        ctrldetallerecepcion = new CtrlDetallerecepcion();
        ctrltransporte = new CtrlTransporte();
        ctrltransportista = new CtrlTransportista();
        ctrlproducto = new CtrlProducto();
        ctrllagar = new CtrlLagar();
        ctrloperario = new CtrlAMBOperario();


        cargarTabla();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jPanel5 = new javax.swing.JPanel();
        jButtonSeleccionarPedido = new javax.swing.JButton();
        pesaje = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTablePedidosPendientes = new javax.swing.JTable();
        jPanel4 = new javax.swing.JPanel();
        jTextFieldUsuario = new javax.swing.JTextField();
        jButtonSalir = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Pesaje Entrada - Sistema Gestor de Pesaje para Bodegas");

        jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Transportes pendientes de Descarga"));

        jButtonSeleccionarPedido.setText("Seleccionar ");
        jButtonSeleccionarPedido.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonSeleccionarPedidoActionPerformed(evt);
            }
        });

        pesaje.setText("Solicitud de Bascula");
        pesaje.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pesajeActionPerformed(evt);
            }
        });

        jScrollPane1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jScrollPane1MouseClicked(evt);
            }
        });

        jTablePedidosPendientes.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Apellido Transportista", "Patente Transporte", "Razón Social Proveedor", "Nombre Producto", "Nro Detalle Recepción", "Seleccionado", "Lagar"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Boolean.class, java.lang.Object.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, true, true
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jTablePedidosPendientes.setColumnSelectionAllowed(true);
        jTablePedidosPendientes.getTableHeader().setReorderingAllowed(false);
        jTablePedidosPendientes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTablePedidosPendientesMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTablePedidosPendientes);
        jTablePedidosPendientes.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 684, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                        .addGap(548, 548, 548)
                        .addComponent(pesaje, javax.swing.GroupLayout.DEFAULT_SIZE, 146, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                        .addContainerGap(548, Short.MAX_VALUE)
                        .addComponent(jButtonSeleccionarPedido, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(29, 29, 29)
                .addComponent(pesaje)
                .addGap(18, 18, 18)
                .addComponent(jButtonSeleccionarPedido)
                .addContainerGap(55, Short.MAX_VALUE))
        );

        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Usuario Registrado"));

        jTextFieldUsuario.setEditable(false);

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addComponent(jTextFieldUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTextFieldUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(28, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(24, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(25, 25, 25)
                        .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(34, 34, 34)
                        .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(90, Short.MAX_VALUE))
        );

        jTabbedPane1.addTab("Espera Descarga", jPanel1);

        jButtonSalir.setText("SALIR");
        jButtonSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonSalirActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(727, Short.MAX_VALUE)
                .addComponent(jButtonSalir)
                .addGap(225, 225, 225))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 979, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(24, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(16, 16, 16)
                .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButtonSalir)
                .addContainerGap())
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-1029)/2, (screenSize.height-604)/2, 1029, 604);
    }// </editor-fold>//GEN-END:initComponents

private void jButtonSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSalirActionPerformed
    dispose();
}//GEN-LAST:event_jButtonSalirActionPerformed

/////
///
    private void cargarTabla() {


//        for (int i = 0; i < detalles.size(); i++) {
//            Vector fila = new Vector();
//
//            Detallecontrato detallecontrat = detalles.get(i);
//            fila.add(detallecontrat.getNumeroContrato().getNumeroContrato());
//            fila.add(detallecontrat.getIdDetalleContrato());
//            System.out.println("nro contrato " + detallecontrat.getNumeroContrato().getNumeroContrato());
//            fila.add(detallecontrat.getIdProducto().getNombreProducto());
//            fila.add(detallecontrat.getIdProducto().getIdClasificacionProducto().getNombreclasificacion());
//            fila.add(detallecontrat.getCuartel());
//            fila.add(detallecontrat.getCantidad());
//            //  fila.add(comboBox);
//            fila.add("BIN");
//            fila.add(0);
//
//            System.out.println("nro detalle contrato " + detallecontrat.getIdDetalleContrato());
//
//            modelo.addRow(fila);
//            this.jTableDetallesContrato.setModel(modelo);

        //  }

//este cargar tabla muestra los contratos pendientes del proveedor seleccionado
        //   DefaultTableModel modelo = (DefaultTableModel) jTablePedidosPendientes.getModel();
        try {
            listalagar = ctrllagar.buscarTodosLagar();
            // listaempaque=(Vector) listaempaquess;
        } catch (Exception e) {
        }

        javax.swing.table.TableColumn column = jTablePedidosPendientes.getColumnModel().getColumn(6);
        JComboBox comboBox = new JComboBox(listalagarV);
        //add your stuff in an ArrayList called list to the ComboBox as Strings. .
        for (int i = 0; i < listalagar.size(); i++) {
            comboBox.addItem(listalagar.get(i).getUbicacion());
        }
        column.setCellEditor(new javax.swing.DefaultCellEditor(comboBox));

        DefaultTableModel modelo = (DefaultTableModel) jTablePedidosPendientes.getModel();

        //       System.out.println("tamaño de detalles  " + detalles.size());
//
        System.out.println("dentro de cargar tabla");

        try {
            listadetpend = ctrldetallerecepcion.buscarDetallerecepcionPesajeEntrada();
            System.out.println("tamaño de lista det pend" + listadetpend.size());
            if (listadetpend.size() != 0) {
                for (int i = 0; i < listadetpend.size(); i++) {
                    Detallerecepcion detalle = listadetpend.get(i);

                    Vector fila = new Vector();
                    // Detallecontrato detalle =  listadetpend.get(i);
                    fila.add(detalle.getRecepcion().getTransportista().getApellidoTransportista());
                    fila.add(detalle.getRecepcion().getTransporte().getPatenteTransporte());
                    fila.add(detalle.getRecepcion().getContrato().getProveedor().getRazonSocialProveedor());
                    fila.add(detalle.getProducto().getNombreProducto());
                    fila.add(detalle.getIdDetalleRecepcion());
                    fila.add(false);
                    fila.add("Ninguno");

                    modelo.addRow(fila);
                    this.jTablePedidosPendientes.setModel(modelo);
                }
            } else {
                JOptionPane.showMessageDialog(this, "No se han encontrado transportes para pesaje de entrada.\n ", "Pesaje Salida", JOptionPane.ERROR_MESSAGE);
            }
        } catch (Exception e) {
            System.out.println(e);
            System.out.println("no trajo la consulta + tamaño de lista det pend: " + listadetpend.size());
        }
    }

private void jButtonSeleccionarPedidoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSeleccionarPedidoActionPerformed

    //TENGO QUE BUSCAR TODOS LOS LAGARES DE ESE PRODUCTO UN PRODUCTO ESTÁ EN MÁS DE UN LAGAR
    // SI TIENE MUCHOS PRODUCTOS POR CADA PRODUCTO  INDICAR UN LAGAR.
    //obtenerSeleccionFilas();
    //acá como me traigo los detalles de las recepciones
    System.out.println(" obtener seleccion de filas");
    int cantfilas = jTablePedidosPendientes.getModel().getRowCount();

    boolean seleccionado = false;
    Transportista transporttista = null;
    Transporte transportte = null;
    Producto productto = null;
    Proveedor proveeddor = null;
    if (cantfilas != 0) {
        for (int s = 0; s < cantfilas; s++) {
            System.out.println("cantfilas " + cantfilas);
            seleccionado = Boolean.parseBoolean(jTablePedidosPendientes.getValueAt(s, 5).toString());
            if (seleccionado) {
//transportista
//                Object apellidotransportista = jTablePedidosPendientes.getValueAt(s, 0);
//                System.out.println("apellido transportista " + apellidotransportista);
//                try {
//                    transporttista = ctrltransportista.buscarTransportistaApellido(apellidotransportista.toString());
//                } catch (Exception e) {
//                    System.out.println("transportista " + e);
//                }
//                transportista = transporttista;
//                //transporte
//
//                Object patente = jTablePedidosPendientes.getValueAt(s, 1);
//
//                try {
//                    transportte = ctrltransporte.buscarTransportePatente(patente.toString());
//                } catch (Exception e) {
//                    System.out.println("transporte" + e);
//                }
//                transporte = transportte;
//                //proveedor
//                Object provee = jTablePedidosPendientes.getValueAt(s, 2);
//
//                try {
//                    proveeddor = ctrlproveedor.buscarProveedorRazon(provee.toString());
//                } catch (Exception e) {
//                    System.out.println("proveedor " + e);
//                }
//                proveedor = proveeddor;

                //producto
                Object product = jTablePedidosPendientes.getValueAt(s, 3);

                try {
                    productto = ctrlproducto.buscarProductoNombre(product.toString());
                } catch (Exception e) {
                    System.out.println("producto " + e);
                }
                producto = productto;
                //detalle recepcion
                Object iddetallerecepcion = jTablePedidosPendientes.getValueAt(s, 4);
                System.out.println(" detalle recepcion " + iddetallerecepcion);

                try {
                    detallerecepcion = ctrldetallerecepcion.buscarDetallerecepcion_X_idDetallerecepcion(Integer.parseInt(iddetallerecepcion.toString()));
                    System.out.println("encontro el detallerecepcion " + detallerecepcion.toString());

                    listadetparam.add(detallerecepcion);

                } catch (Exception e) {
                    System.out.println("No trajo el detallerecepcion  que le pedi " + e);
                }
                Object laga = jTablePedidosPendientes.getValueAt(s, 6);


                String lagar = laga.toString();

                try {
//                    lagarSel = ctrllagar.buscarLagar_X_producto();
                    System.out.println("#### Encontró el empaque #####");
                } catch (Exception e) {
                    System.out.println("No encontró el empaque " + e);
                }
                producto = productto;
            }
        }
        System.out.println("********* TRANSPORTE **********" + transporte);
        System.out.println("********* transportista **********" + transportista);
        System.out.println("********* proveedor **********" + proveedor);
        System.out.println("********* producto **********" + producto);
        System.out.println("********* listadetparam  **********" + listadetparam);

        System.out.println("********* FIN CODIGO **********");

        PesajeManualEntrada2 pesajemanualentrada = new PesajeManualEntrada2(proveedor, transporte, transportista, listadetparam,producto,op);
        pesajemanualentrada.setVisible(true);
        this.dispose();
    } else {
        JOptionPane.showMessageDialog(this, "Debe seleccionar al menos un transporte.\n ", "Pesaje Entrada", JOptionPane.ERROR_MESSAGE);

    }

}//GEN-LAST:event_jButtonSeleccionarPedidoActionPerformed
 private void setOcultarColumnasJTable(JTable tbl, int columna[])
    {
       for(int i=0;i<columna.length;i++){
            tbl.getColumnModel().getColumn(columna[i]).setMaxWidth(0);

            tbl.getColumnModel().getColumn(columna[i]).setMinWidth(0);

             tbl.getTableHeader().getColumnModel().getColumn(columna[i]).setMaxWidth(0);

             tbl.getTableHeader().getColumnModel().getColumn(columna[i]).setMinWidth(0);

        }
    }
//   Una mehor solucion aqui
//La defines en una clase final de java este metodo para que sea reutilizable
//Espero te sirva mucho:
//este metodo recibi dos parametros
//final JTable tabla => la jtable en la que quieres ocultar las columnas
//final int… Columnas=> las columnas que quieres ocultar le pasas cualquier cantidad de columnas.
//public static void OcultarColumnasJtable(final JTable tabla, final int… Columnas) {
//try {
//for (int i : Columnas) {
//tabla.getColumn(tabla.getColumnName(i)).setWidth(0);//Ancho de la columna
//tabla.getColumn(tabla.getColumnName(i)).setMinWidth(0);//Ancho minimo de la columna 0
//tabla.getColumn(tabla.getColumnName(i)).setMaxWidth(0);//Ancho maximo de la columna
//}
//} catch (ArrayIndexOutOfBoundsException e) {
//}
//}


private void jTablePedidosPendientesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTablePedidosPendientesMouseClicked
}//GEN-LAST:event_jTablePedidosPendientesMouseClicked

private void jScrollPane1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jScrollPane1MouseClicked
}//GEN-LAST:event_jScrollPane1MouseClicked

private void pesajeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pesajeActionPerformed
    //Servidor servidor = new Servidor();
    //servidor.ejecutar();
    //    jButtonPesoManual.setEnabled(false);



    System.out.println(" obtener seleccion de filas");
    int cantfilas = jTablePedidosPendientes.getModel().getRowCount();
    //if (cantfilas>0){
    boolean seleccionado = false;
    Transportista transporttista = null;
    Transporte transportte = null;
    Producto productto = null;
    Proveedor proveeddor = null;

    for (int s = 0; s < cantfilas; s++) {
        System.out.println("cantfilas " + cantfilas);
        seleccionado = Boolean.parseBoolean(jTablePedidosPendientes.getValueAt(s, 5).toString());
        if (seleccionado) {
//transportista
            Object apellidotransportista = jTablePedidosPendientes.getValueAt(s, 0);
            System.out.println("apellido transportista " + apellidotransportista);
            try {
                transporttista = ctrltransportista.buscarTransportistaApellido(apellidotransportista.toString());
            } catch (Exception e) {
                System.out.println("transportista " + e);
            }
            transportista = transporttista;
            //transporte

            Object patente = jTablePedidosPendientes.getValueAt(s, 1);

            try {
                transportte = ctrltransporte.buscarTransportePatente(patente.toString());
            } catch (Exception e) {
                System.out.println("transporte" + e);
            }
            transporte = transportte;
            //proveedor
            Object provee = jTablePedidosPendientes.getValueAt(s, 2);

            try {
                proveeddor = ctrlproveedor.buscarProveedorRazon(provee.toString());
            } catch (Exception e) {
                System.out.println("proveedor " + e);
            }
            proveedor = proveeddor;

            //producto
            Object product = jTablePedidosPendientes.getValueAt(s, 3);

            try {
                productto = ctrlproducto.buscarProductoNombre(product.toString());
            } catch (Exception e) {
                System.out.println("producto " + e);
            }
            producto = productto;
            //detalle recepcion
            Object iddetallerecepcion = jTablePedidosPendientes.getValueAt(s, 4);
            System.out.println(" detalle recepcion " + iddetallerecepcion);

            try {
                detallerecepcion = ctrldetallerecepcion.buscarDetallerecepcion_X_idDetallerecepcion(Integer.parseInt(iddetallerecepcion.toString()));
                System.out.println("encontro el detallerecepcion " + detallerecepcion.toString());
                listadetparam.add(detallerecepcion);

            } catch (Exception e) {
                System.out.println("No trajo el detallerecepcion  que le pedi " + e);
            }
        }
    }
    System.out.println("********* TRANSPORTE **********" + transporte);
    System.out.println("********* transportista **********" + transportista);
    System.out.println("********* proveedor **********" + proveedor);
    System.out.println("********* producto **********" + producto);
    System.out.println("********* listadetparam  **********" + listadetparam);

    System.out.println("********* FIN CODIGO **********");


    PesajeAutomaticoEntrada pesajeAutomaticoEntrada = new PesajeAutomaticoEntrada(cadenaBascula, proveedor, transporte, transportista, listadetparam,op);
    pesajeAutomaticoEntrada.setVisible(true);
//    }else{
//        JOptionPane.showMessageDialog(this, "Debe seleccionar al menos un transporte.\n ", "Pesaje Entrada", JOptionPane.ERROR_MESSAGE);
//    }
}//GEN-LAST:event_pesajeActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonSalir;
    private javax.swing.JButton jButtonSeleccionarPedido;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel17;
    private javax.swing.JPanel jPanel18;
    private javax.swing.JPanel jPanel19;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTable jTablePedidosPendientes;
    private javax.swing.JTextField jTextFieldUsuario;
    private javax.swing.JTextField jTextFieldUsuario4;
    private javax.swing.JTextField jTextFieldUsuario5;
    private javax.swing.JTextField jTextFieldUsuario6;
    private javax.swing.JButton pesaje;
    // End of variables declaration//GEN-END:variables
}
